DM_ML NOTES/ML_TEST/
2. 模型选择与评估 blog

Sub title

误差与拟合

机器学习这门学科所追求的目标:泛化误差最小---不要过拟合

误差

  1. 训练误差 || 经验误差

学习器在训练集上的误差

  1. 泛化误差

学习器在新的(未来的)样本上的误差

拟合

Sub title

  1. 过拟合

把训练样本自身的一些特点当成了所有潜在样本都会具有的普遍性质

  1. 欠拟合

对训练样本的一般性质尚未学好

学机器学习算法时候要记得问自己如下问题,以加深理解

1.  这个算法靠什么来缓解Overfitting?
2. 这种缓解策略什么时候失效?(什么时候不能用?)

评估方法

我们通过什么样的策略来分割S(训练数据)和T(测试集)?

Sub title

  1. 训练集

从训练数据S中选出

用于训练模型

  1. 验证集

从训练数据S中选出

模型继续验证集上的性能来进行模型选择和调参

  1. 测试集

用测试误差作为泛化误差的近似

留出法

Sub title

  1. 划分要尽量保持数据分布的一致性(避免引入额外的偏差而对结果产生影响)

实现方式:分层采样

Sub title

  1. 不同的划分将导致不同的训练数据/测试集,从而模型评估的结果也会有区别

解决方法:k次随机划分,重复进行实验评估后取平均值

  1. Pasted image 20240522145736.png

永远无法真正等于全部数据训练后的模型,降低结果保真性

  1. 可能有样本一直抽不到T中,导致训练出来的模型对特定样本泛化能力不高(都没试过验证,肯定不高)

k折交叉验证法

解决留出法可能会有样本没有抽进T中的问题

Sub title

一般要重复划分q次k折,减小因样本划分不同所引入的区别

q次k折交叉验证

Sub title

每次只留下一个样本进行验证

优点

往往被认为比较准确

缺点

训练时间开销大

某些情况下完全没用(男女进教室预测)

自助法

"总有人抱怨训练集训练出来的模型不是最完整的模型,于是自助法出现了"

Sub title

取出来,copy,放回去

这样下一次就还是可以取到

Sub title

优点

在数据集较小,难以有效划分ST时相当有用

能从原始数据集中产生多个不同的训练集,对于集成学习有很大的好处

缺点:

改变了初始数据集的分布,会引入估计偏差

性能度量

你这模型保不保真啊?

均方误差

错误率告诉我!!!哦,你是回归啊,那告诉我均方误差吧。

错误率和精度

这个的Recall...Precision...F1... 啊?你是外行?哦,这个模型的错误率是33%。

Sub title

错误率

精度

查准率,查重率与F1

这个模型的准确率是60%, 啊?你是内行?哦,那这个东西的Recall...F1...Precision...

Sub title

混淆矩阵 Pasted image 20240522153503.jpg

Recall(查全率)

Precision(查准率)

macro-P/R: 宏~率

多个混淆矩阵,求一个平均出来

先算每个矩阵的P和R,再求平均得macro

micro-macro-P/R:

多个混淆矩阵,求一个平均出来

先算平均的TP, FP, FN, 再算总体P和R得micro

Sub title

平衡点:P=R时的点

确定的正方形面积决定模型好坏,越大越好一般

F1

Fβ: β:R对于P的重要比率

ROC和AUC

除了PR图还没有别的能一眼看出来模型好坏的的可视化啊?

Sub title

ROC

x: TPR : 真正例率 (就是查全率)

y: FPR :假正例率

AUC

面积越大,模型越好

比较检验

他妈的,到底哪个模型更好?

Sub title

比较t检验

McNemar检验 - 基于卡方P